bitkeeper revision 1.1159.254.1 (4208fb40ebFKAx9nnWfHPfWIPdQ9Vw)
authormafetter@fleming.research <mafetter@fleming.research>
Tue, 8 Feb 2005 17:47:44 +0000 (17:47 +0000)
committermafetter@fleming.research <mafetter@fleming.research>
Tue, 8 Feb 2005 17:47:44 +0000 (17:47 +0000)
Bug fix for free_domain_struct().
Don't dereference a pointer after we've free'd it.

xen/common/schedule.c

index f5c6daa77a03d69fdb6a051f6f0b68a85f5cda3c..13f6f3fd3583c1b6f200a7cb160e565dfab6c25e 100644 (file)
@@ -91,11 +91,13 @@ static struct ac_timer t_timer[NR_CPUS];
 
 void free_domain_struct(struct domain *d)
 {
-    struct exec_domain *ed;
+    int i;
 
     SCHED_OP(free_task, d);
-    for_each_exec_domain(d, ed)
-        arch_free_exec_domain_struct(ed);
+    for (i = 0; i < MAX_VIRT_CPUS; i++)
+        if ( d->exec_domain[i] )
+            arch_free_exec_domain_struct(d->exec_domain[i]);
+
     arch_free_domain_struct(d);
 }